package com.runa.rccprotocol.dto.equdata;

import lombok.Data;

import java.util.Date;

/**
 * 热表数据
 * @author zhuj
 */
public class HeatMeterData extends EquData {

    private Date readDate;

    private float settDateHeatColdVal;

    private float accHeat;

    private float power;

    private float instantFlow;

    private float accFlow;

    private float inTemperature;

    private float outTemperature;

    private float pressure;

    private int workTime;

    private TerminalCalendarClock meterDate;

    private String meterStatus;

    public Date getReadDate() {
        return readDate;
    }

    public void setReadDate(Date readDate) {
        this.readDate = readDate;
    }

    public float getSettDateHeatColdVal() {
        return settDateHeatColdVal;
    }

    public void setSettDateHeatColdVal(float settDateHeatColdVal) {
        this.settDateHeatColdVal = settDateHeatColdVal;
    }

    public float getAccHeat() {
        return accHeat;
    }

    public void setAccHeat(float accHeat) {
        this.accHeat = accHeat;
    }

    public float getPower() {
        return power;
    }

    public void setPower(float power) {
        this.power = power;
    }

    public float getInstantFlow() {
        return instantFlow;
    }

    public void setInstantFlow(float instantFlow) {
        this.instantFlow = instantFlow;
    }

    public float getAccFlow() {
        return accFlow;
    }

    public void setAccFlow(float accFlow) {
        this.accFlow = accFlow;
    }

    public float getInTemperature() {
        return inTemperature;
    }

    public void setInTemperature(float inTemperature) {
        this.inTemperature = inTemperature;
    }

    public float getOutTemperature() {
        return outTemperature;
    }

    public void setOutTemperature(float outTemperature) {
        this.outTemperature = outTemperature;
    }

    public int getWorkTime() {
        return workTime;
    }

    public void setWorkTime(int workTime) {
        this.workTime = workTime;
    }

    public TerminalCalendarClock getMeterDate() {
        return meterDate;
    }

    public void setMeterDate(TerminalCalendarClock meterDate) {
        this.meterDate = meterDate;
    }

    public String getMeterStatus() {
        return meterStatus;
    }

    public void setMeterStatus(String meterStatus) {
        this.meterStatus = meterStatus;
    }

    @Override
    public EquDataType equDataType() {
        return EquDataType.METER;
    }

    public float getPressure() {
        return pressure;
    }

    public void setPressure(float pressure) {
        this.pressure = pressure;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("{");
        sb.append("\"readDate\":\"")
                .append(readDate).append('\"');
        sb.append(",\"settDateHeatColdVal\":")
                .append(settDateHeatColdVal);
        sb.append(",\"accHeat\":")
                .append(accHeat);
        sb.append(",\"power\":")
                .append(power);
        sb.append(",\"instantFlow\":")
                .append(instantFlow);
        sb.append(",\"accFlow\":")
                .append(accFlow);
        sb.append(",\"inTemperature\":")
                .append(inTemperature);
        sb.append(",\"outTemperature\":")
                .append(outTemperature);
        sb.append(",\"pressure\":")
                .append(pressure);
        sb.append(",\"workTime\":")
                .append(workTime);
        sb.append(",\"meterDate\":")
                .append(meterDate);
        sb.append(",\"meterStatus\":\"")
                .append(meterStatus).append('\"');
        sb.append('}');
        return sb.toString();
    }
}
